// let excepts = ["/api/user/login", "/api/user/members/login"];
const db = require("./model/db");

async function isNormal(userId) {
  let u = await db.User.findById(userId);
  if (u.isAdmin) {
    return true;
  }
  return false;
}

module.exports = async function (req, res, next) {

  if (req.signedCookies.userId) {  //要有userId才可以进行权限判断，没有userId说明还没有登录，所以可以进行下一步
    if (!await isNormal(req.signedCookies.userId)) {  //有userId后判断这个id账户是不是管理员,不是就进行权限管理
      //未登录 或 普通用户
      if (req.method.toLowerCase() === "get" || req.path === "/api/User/www") {
        next();
      } else {
        res.clearCookie("userId")
        res.send({
          code: 403,
          message: "无权限的访问"
        });
      }
    } else {
      //管理员
      next();
    }
  } else {
    //不确定是否为管理员，但可先登录
    next();
  }

}
